Storing PulseSequencesΒΆ
Every time a PulseSequence is passed to the Layout to be targeted to the
experimental setup, a copy of the PulseSequence can be stored on the computer.
The PulseSequence is stored as a Python pickle, along with a timestamp.
This can be a useful feature for logging, as the timestamp allows you to see
what PulseSequence was targeted at a given time.
To setup PulseSequence storage, the folder needs to be passed to the
Layout during its initialization, as such
>>> layout = Layout(store_pulse_sequences_folder={folder_path})
where {folder_path} is an absolute path to the folder.
Stored PulseSequences can be later retrieved either
directly using pickle, or relative to a dataset using
>>> dataset.get_pulse_sequence()
By default the first pulse sequence will be retrieved that was targeted after
the dataset is created.
Additional arguments can be specified to retrieve a specific later
PulseSequence.
Note
Due to the way pickling works, when a PulseSequence is retrieved, it
will use the current version of SilQ QCoDeS to recreate the actual
PulseSequence object.
If the source code of either has changed significantly in the time between
storage of the PulseSequence and its retrieval, it could be that the
PulseSequence cannot be recreated and an error is raised.
In this case it is recommended to revert to an earlier version of
SilQ/QCoDeS, preferrably the version existing when the PulseSequence was
stored.